Main Memory
Linking
Static linking –system libraries and program code are combined by the loader into the binary image
Dynamic linking –linking is postponed until execution/run time
Binding
Memory-Management Unit (MMU)
Fragmentation
Memory Allocation
Continuous Partition
Size of each partition is fixed
Size of each partition is variable
Non-continuous Partition
Page Table
TLB
- What is memory management?
Memory management is to bind a logical address space to a separate physical address space.
- When does the address binding happen?
Binding is delayed until run time.
- What is physical memory address?
Logical address
- generated by the Program/CPU
- also referred to as virtual address
- all the addresses used by the CPU
- Addressed in bytes
- Size of space depends on the CPU bits
- What is logical memory address?
Physical address
- All the addresses used by the memory hardware
- Addressed in bytes
- Size of space depends on real size of physical memory
- In which situation, the above two addresses are same? In which situation, the above two addresses are different?
Logical and physical addresses are the same in
- **compile-time address binding **
- load-time address-binding schemes
logical (virtual) and physical addresses differ in
- execution-time address-binding scheme
- What memory allocation methods are there? Advantages? Disadvantages?
Memory for each process can be
- Contiguous (early method)
- Not contiguous (modern method)
• How to map the logical address to physical address?
• How to reduce time to find physical address?
• What methods are used to solve the big page table problem?